JavaScript不是函数式编程语言,但在JavaScript中可以像操控对象一样操控函数,也就说可以在JavaScript中应用函数式编程技术。
使用函数处理数组
假设有一个数组,数组元素都是数字,我们想要计算这些元素的平均值和标准差,若使用非函数式编程风格的话,代码会是下面的样子
可以使用数组方法map()reduce()来实现同样的计算,代码显得极其简洁
高阶函数
高阶函数就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个函数,代码如下:
上面的not()函数就是一个高阶函数,因为它接收一个函数作为参数,并返回一个新的函数。